package com.ruoyi.asset.lamp.service;

import com.ruoyi.asset.lamp.domain.bo.*;
import com.ruoyi.asset.lamp.domain.vo.LampMaintenanceVo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author 12276
 */
public interface ILampMaintenanceService {

    /**
     * 数据导入
     *
     * @return 返回导入失败数据的行号和错误信息
     */
    List<String> importExcel(String excelUrl);

    /**
     * 删除路灯管养范围
     */
    int deleteLampMaintenance(Set<Long> idsSet);

    /**
     * 查询路灯管养范围
     *
     * @return
     */
    TableDataInfo<LampMaintenanceVo> queryLampMaintenance(LampMaintenanceBo searchBo, PageQuery pageQuery);

    /**
     * 导出路灯管养范围
     *
     * @param searchBo
     * @return
     */
    List<LampMaintenanceVo> queryLampMaintenance(LampMaintenanceBo searchBo);

    /**
     * 首页左侧统计路灯管养
     *
     * @return
     */
    LampMaintenanceStatisticsBo getLampCount();

    /**
     * 首页右侧统计
     * @return
     */
    Map getLampCommunityCount();

    /**
     * 智慧大屏路灯管养左侧
     * @param date 指定日期
     * @return
     */
    List<LampCommunityCountBo> getLampCountByCommunity(String date);

    /**
     * 智慧大屏管理一张图
     * @param date 指定日期
     * @param community 指定社区
     * @return
     */
    Integer getLampCountByDateAndCommunity(String date,String community);

    /**
     * 今日统计
     * @param date 指定日期
     * @return
     */
    LampWorkStatisticsBo getLampWorkByDate(String date);

    /**
     * 今日统计
     * @param date 指定日期
     * @param community 指定社区
     * @return
     */
    LampWorkStatisticsBo getLampWorkByDateAndCommunity(String date,String community);

    LampCommunityMapBo getCommunityByDate(String community,String date);
}
